package com.sky.vo;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 提现记录视图对象，用于向前端返回提现详情。
 * 包含申请金额、分成比例、余额快照、状态与处理信息等。
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WithdrawalVO {
    private Long id;
    private Long merchantId;
    private BigDecimal requestAmount;
    private BigDecimal shareRatio;
    private BigDecimal totalIncomeSnapshot;
    private BigDecimal balanceSnapshot;
    private String status; // PENDING/COMPLETED/REJECTED
    private LocalDateTime requestTime;
    private LocalDateTime processedTime;
    private Long processedByStudentId;
    private String rejectReason;
    private BigDecimal payoutAmount;
}